{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "from jinja2 import Template\n",
    "from matplotlib import pyplot as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 样例轨迹文件，经纬度\n",
    "data = json.load(open('locations.json', encoding='utf-8'))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(220, 15, 2)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(data), len(data[0]), len(data[0][0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 去除噪声数据一部分\n",
    "data = data[90:200]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据展平\n",
    "result = []\n",
    "for item in data:\n",
    "    for sub_item in item:\n",
    "        result.append(sub_item)\n",
    "data = [result]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 定义源模板文件，用于生成新的可视化文件\n",
    "template = './template.tpl'\n",
    "source = open(template, encoding='utf-8').read()\n",
    "\n",
    "# 将路径数据、中心点数据替换到模板，生成结果\n",
    "output = Template(source).render(data=data, center=[115.94716977692126, 28.211794684681426])\n",
    "\n",
    "# 生成结果文件\n",
    "output_file_path = 'preview.html'\n",
    "with open(output_file_path, 'w', encoding='utf-8') as f:\n",
    "    f.write(output)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 高德地图显示结果\n",
    "\n",
    "![](https://qiniu.cuiqingcai.com/2020-01-07-132356.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = np.asarray(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1, 10277, 2)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[115.904883,  28.726181],\n",
       "       [115.904751,  28.726326],\n",
       "       [115.904616,  28.72647 ],\n",
       "       ...,\n",
       "       [115.72435 ,  28.168811],\n",
       "       [115.724243,  28.16879 ],\n",
       "       [115.72413 ,  28.168775]])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 对数据进行放缩，经纬度放缩到一个 0-300 的区间\n",
    "from sklearn.preprocessing import MinMaxScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "mms = MinMaxScaler(feature_range=(0, 300))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "Found array with dim 3. MinMaxScaler expected <= 2.",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-13-b4e1108f6cc6>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mmms\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m/Library/Python/3.7/site-packages/sklearn/preprocessing/_data.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m    334\u001b[0m         \u001b[0;31m# Reset internal state before fitting\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    335\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_reset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 336\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpartial_fit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    337\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    338\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mpartial_fit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mNone\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/Library/Python/3.7/site-packages/sklearn/preprocessing/_data.py\u001b[0m in \u001b[0;36mpartial_fit\u001b[0;34m(self, X, y)\u001b[0m\n\u001b[1;32m    369\u001b[0m         X = self._validate_data(X, reset=first_pass,\n\u001b[1;32m    370\u001b[0m                                 \u001b[0mestimator\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mFLOAT_DTYPES\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 371\u001b[0;31m                                 force_all_finite=\"allow-nan\")\n\u001b[0m\u001b[1;32m    372\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    373\u001b[0m         \u001b[0mdata_min\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnanmin\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maxis\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/Library/Python/3.7/site-packages/sklearn/base.py\u001b[0m in \u001b[0;36m_validate_data\u001b[0;34m(self, X, y, reset, validate_separately, **check_params)\u001b[0m\n\u001b[1;32m    418\u001b[0m                     \u001b[0;34mf\"requires y to be passed, but the target y is None.\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    419\u001b[0m                 )\n\u001b[0;32m--> 420\u001b[0;31m             \u001b[0mX\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcheck_array\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mX\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mcheck_params\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    421\u001b[0m             \u001b[0mout\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mX\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    422\u001b[0m         \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/Library/Python/3.7/site-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36minner_f\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m     71\u001b[0m                           FutureWarning)\n\u001b[1;32m     72\u001b[0m         \u001b[0mkwargs\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mupdate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0mk\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0marg\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mk\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0marg\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mzip\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msig\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mparameters\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 73\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     74\u001b[0m     \u001b[0;32mreturn\u001b[0m \u001b[0minner_f\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     75\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/Library/Python/3.7/site-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36mcheck_array\u001b[0;34m(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator)\u001b[0m\n\u001b[1;32m    640\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mallow_nd\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0marray\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>=\u001b[0m \u001b[0;36m3\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    641\u001b[0m             raise ValueError(\"Found array with dim %d. %s expected <= 2.\"\n\u001b[0;32m--> 642\u001b[0;31m                              % (array.ndim, estimator_name))\n\u001b[0m\u001b[1;32m    643\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    644\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mforce_all_finite\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: Found array with dim 3. MinMaxScaler expected <= 2."
     ]
    }
   ],
   "source": [
    "mms.fit(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_scaled = mms.fit_transform(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[244.91020941, 243.17987471],\n",
       "       [244.74616293, 243.24239258],\n",
       "       [244.57838812, 243.3044793 ],\n",
       "       ...,\n",
       "       [ 20.54806438,   2.86547447],\n",
       "       [ 20.41508731,   2.85642015],\n",
       "       [ 20.27465358,   2.84995279]])"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_scaled"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据分割\n",
    "from traj_cluster.partition import approximate_trajectory_partitioning, segment_mdl_comp, rdp_trajectory_partitioning\n",
    "from traj_cluster.point import Point"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'data_scaled' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-15-d6d84105a427>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;31m# 转化成 Points 的集合\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      2\u001b[0m \u001b[0mpoints\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0my\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdata_scaled\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      4\u001b[0m     \u001b[0mpoint\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mPoint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m     \u001b[0mpoints\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpoint\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'data_scaled' is not defined"
     ]
    }
   ],
   "source": [
    "# 转化成 Points 的集合\n",
    "points = []\n",
    "for x,y in data_scaled:\n",
    "    point = Point(x, y)\n",
    "    points.append(point)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "10277"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(points)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "traj = points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "ename": "IndexError",
     "evalue": "list index out of range",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mIndexError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-19-0511b5676784>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m \u001b[0;31m# 通过计算两个点之间存在 Partition 特征点时的 MDL 开销和不存在 Partition特征点时的开销\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mcost_par\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msegment_mdl_comp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtraj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtyped\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'par'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      3\u001b[0m \u001b[0mcost_nopar\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0msegment_mdl_comp\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtraj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtyped\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'nopar'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/PycharmProjects/AbnormalTrajectoryDetection/traj_cluster/partition.py\u001b[0m in \u001b[0;36msegment_mdl_comp\u001b[0;34m(traj, start_index, current_index, typed)\u001b[0m\n\u001b[1;32m     34\u001b[0m     \u001b[0mlength_data_hypothesis_angle\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     35\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 36\u001b[0;31m     \u001b[0mseg\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mSegment\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtraj\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mstart_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtraj\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mcurrent_index\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     37\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mtyped\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"par\"\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mtyped\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m\"PAR\"\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     38\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mseg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlength\u001b[0m \u001b[0;34m<\u001b[0m \u001b[0meps\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mIndexError\u001b[0m: list index out of range"
     ]
    }
   ],
   "source": [
    "# 通过计算两个点之间存在 Partition 特征点时的 MDL 开销和不存在 Partition特征点时的开销\n",
    "cost_par = segment_mdl_comp(traj, 0, 1, typed='par')\n",
    "cost_nopar = segment_mdl_comp(traj, 0, 1, typed='nopar')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 两种分割思路\n",
    "\n",
    "* approximate_trajectory_partitioning：按照论文中的算法流程实现轨迹的partition部分, 主要通过MDL来确定特征点并实现的轨迹分段, 其中theta可以视为惩罚参数,若theta越大那么轨迹压缩率越大。\n",
    "* rdp_trajectory_partitioning：实现轨迹压缩的Ramer-Douglas-Peucker算法, 实现对轨迹中的重要点进行提取并实现轨迹的分割, 和上面的partition方法的返回结果类似。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### approximate_trajectory_partitioning"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "metadata": {},
   "outputs": [],
   "source": [
    "# approximate_trajectory_partitioning 方法，theta 为 1.0\n",
    "theta = 1.0\n",
    "part = approximate_trajectory_partitioning(traj, theta=theta)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 输入原路径 traj，分割后的结果 part，输出图片名，绘制原图和分割后的路段\n",
    "def plot(traj, part, output_path):\n",
    "    source_line_x = [p.x for p in traj]\n",
    "    source_line_y = [p.y for p in traj]\n",
    "    dest_line_x = []\n",
    "    dest_line_y = []\n",
    "    i = 0\n",
    "    for s in part:\n",
    "        if i == 0:\n",
    "            dest_line_x.append(s.start.x)\n",
    "            dest_line_y.append(s.start.y)\n",
    "            dest_line_x.append(s.end.x)\n",
    "            dest_line_y.append(s.end.y)\n",
    "        else:\n",
    "            dest_line_x.append(s.end.x)\n",
    "            dest_line_y.append(s.end.y)\n",
    "        i += 1\n",
    "    fig = plt.figure(figsize=(15, 10))\n",
    "    ax = fig.add_subplot(111)\n",
    "    ax.plot(source_line_x, source_line_y, 'g--', lw=2.0, label=\"trajectory\")\n",
    "    ax.scatter(source_line_x, source_line_y, alpha=0.5)\n",
    "    ax.plot(dest_line_x, dest_line_y, lw=1.0, c='red', label=\"partition\")\n",
    "    ax.scatter(dest_line_x, dest_line_y, alpha=0.5)\n",
    "    ax.legend()\n",
    "    plt.savefig(output_path)\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'traj' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-17-9bf9fdce9e89>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtraj\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpart\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34mf'approximate_trajectory_partitioning_theta_{theta}.png'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'traj' is not defined"
     ]
    }
   ],
   "source": [
    "plot(traj, part, f'approximate_trajectory_partitioning_theta_{theta}.png')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### rdp_trajectory_partitioning"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [],
   "source": [
    "# rdp_trajectory_partitioning 方法，epsilon 为 1.0\n",
    "epsilon = 1.0\n",
    "part = rdp_trajectory_partitioning(traj, epsilon=epsilon)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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CYYByXPSktMlLbjBsWNsRhQjDwDHgb9K6ZMq+dxjr+l8o237zKYB8Ej0DSpsN/3tACXWQJ0XstovpNr7n+WnFxEREZGOZ0ydm+XAMDO7zMx6AHcB89P0XiJZbXFiHL1p4CKOUkI+5SQYQII/Jv6EKL1PKKgiFBKhmAhFwXYhEfKJkN9WsMGxkiwWFHIn3yInvGbnC7YTY04QZb0P4veJMaz3QSSIsjgxjrISXWlERERE5GykpWhz91bgYWAJsB543d3XpuO9RLLdktnfZm58CrVeRBn7qfUi5sannNXqkV1tgw9qN+a6XkNY+titmQ5PREREpFtJ23Xazoau0yYiIiIiIrnsdNdpS9f0SBERERERETkPVLSJiIiIiIiEmIo2ERERERGREFPRJiIiIiIiEmIq2kREREREREJMRZuIiIiIiEiIqWgTEREREREJMRVtIiIiIiIiIaaiTUREREREJMRUtImIiIiIiISYijYREREREZEQU9EmIiIiIiISYiraREREREREQkxFm4iIiIiISIipaBMREREREQkxFW0iIiIiIiIhpqJNREREREQkxFS0iYiIiIiIhJiKNhERERERkRBT0SYiIiIiIhJiKtpERERERERCTEWbiIiIiIhIiKloExERERERCTFz90zHgJntBbZlOo4z6Afsy3QQ0uWU99ykvOcm5T03Ke+5RznPTd0h74Pc/aL2doSiaOsOzKzS3cdmOg7pWsp7blLec5PynpuU99yjnOem7p53TY8UEREREREJMRVtIiIiIiIiIaairfPmZjoAyQjlPTcp77lJec9NynvuUc5zU7fOu85pExERERERCTEdaRMREREREQkxFW2dYGaTzWyDmVWZ2cxMxyPpY2bVZvapma00s8qg7UIze9vMNgX3F2Q6Tjk3ZjbPzPaY2ZqUtnbzbEn/Eoz/1WY2OnORy/9XBzn/gZntDMb7SjObkrJvVpDzDWZ2a2ailnNlZgPM7D0zW2dma83skaBd4z2LnSbvGvNZzMzyzewjM1sV5P2HQftlZvZhkN/XzKxH0N4zeFwV7K/IZPxnoqLtDMwsCjwN3AZcAdxtZldkNipJsxvdfVTKsrAzgXfcfRjwTvBYurfngckntXWU59uAYcFtBvDzLopRzq/nOTXnAD8Lxvsod18IEHzH3wVcGTznmeBvgXQ/rcDfufsVwATgoSC/Gu/ZraO8g8Z8NmsGvuLuI4FRwGQzmwD8E8m8DwUOAg8E/R8ADgbtPwv6hZaKtjO7Fqhy9y3ufhR4FZiW4Zika00DXgi2XwC+lsFY5Dxw9z8AB05q7ijP04AXPWkZ0MfMyromUjlfOsh5R6YBr7p7s7tvBapI/i2Qbsbdd7n7J8F2PbAeKEfjPaudJu8d0ZjPAsG4PRw8zAtuDnwFeCNoP3m8H/seeAO4ycysi8I9ayrazqwc2J7yeAenH/jSvTnwOzP72MxmBG2l7r4r2N4NlGYmNEmzjvKs74Ds9nAwDW5eytRn5TwLBVOfrgE+ROM9Z5yUd9CYz2pmFjWzlcAe4G1gM3DI3VuDLqm5bct7sL8W6Nu1EXeeijaRE93g7qNJTpF5yMz+NHWnJ5db1ZKrWU55zhk/B4aQnEazC/hpZsORdDGzYuA/gb9197rUfRrv2audvGvMZzl3j7v7KOBSkkdLv5DhkM4bFW1nthMYkPL40qBNspC77wzu9wBvkhzwNcemxwT3ezIXoaRRR3nWd0CWcvea4A98AvgFx6dDKedZxMzySP7j/rK7/zpo1njPcu3lXWM+d7j7IeA94DqS05xjwa7U3LblPdjfG9jfxaF2moq2M1sODAtWnulB8kTV+RmOSdLAzIrMrNexbWASsIZkvr8ZdPsm8FZmIpQ06yjP84F7g1XlJgC1KdOqpBs76VylPyM53iGZ87uClcUuI7koxUddHZ+cu+D8lOeA9e7+RMoujfcs1lHeNeazm5ldZGZ9gu0C4BaS5zO+B9wZdDt5vB/7HrgTeNdDfAHr2Jm75DZ3bzWzh4ElQBSY5+5rMxyWpEcp8GZwDmoM+KW7Lzaz5cDrZvYAsA2YnsEY5Twws1eAiUA/M9sBfB+YQ/t5XghMIXliegPwF10esJyzDnI+0cxGkZwaVw18C8Dd15rZ68A6kqvQPeTu8UzELefseuDPgU+D81wAHkPjPdt1lPe7NeazWhnwQrDyZwR43d1/a2brgFfN7HFgBcmCnuD+JTOrIrlQ1V2ZCLqzLMQFpYiIiIiISM7T9EgREREREZEQU9EmIiIiIiISYiraREREREREQkxFm4iIiIiISIipaBMREREREQkxFW0iIiIiIiIhpqJNREREREQkxFS0iYiIiIiIhNj/AUF3YMznXexxAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1080x720 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot(traj, part, f'rdp_trajectory_partitioning_epsilon_{epsilon}.png')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
